home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d7
/
exechk.arc
/
MYINSTAL.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1990-12-06
|
3KB
|
71 lines
(*******************************************************************
Program/Unit MYINSTAL.PAS
Written 06 Dec 90
Revised .........
Author Johnathan J. Stein
PO Box 346
Perrysburg, OH 43551
CompuServe 76576,470
Purpose To illustrate how to implement EXE
file "stamping", in order to discourage
illegal copying WITHOUT using copy protection.
Contents
--------
Sample installation program, which uses "IsExePersonalized" to see if
it is neccessary to do a first-time setup and "stamp" the EXE application
program.
Both the installation and application program share data display routines.
*******************************************************************)
USES Crt,
exechk ;
CONST
MyInstallDrive : string = 'A:\' ;
MyProgramName : string = 'MYPROG.EXE' ;
{$I mydata.inc } (* Data Entry & Display *)
{$I abort.inc } (* Global halt with message *)
procedure MyInstallExe ( S : string ) ;
begin
if not IsDriveA ( ParamStr ( 0 ) ) then
Abort ( 'INSTALL must be run from drive A:' ) ;
MyDataInit ;
if IsExePersonalized ( S ) then (* Do not let user change data! *)
begin
ExeReadData ( S ,
Data ,
SizeOf ( Data ) ) ; (* Get from EXE file *)
MyDataOutput ; (* Display name, etc *)
EXIT ;
end ;
MyDataInput ; (* Get input from USER *)
if not Ok then
Abort ( 'Installation cancelled!' ) ; (* End program *)
ExeInstallData ( S ,
Data ,
SizeOf ( Data ) ) ; (* Append to EXE file *)
end ;
procedure MyMainInstall ;
begin
writeln ( 'My Main Installation Procedure!' ) ;
{
Put your custom install procedures here.
----------------------------------------
MyCreateDir ;
MyCopyFiles ;
MyWhatEver ;
}
end ;
begin
writeln ( 'ABC Software Company' ) ;
writeln ( 'Installation Program for ' , MyProgramName ) ;
writeln ( '---------------------------------------------' ) ;
MyInstallExe ( MyInstallDrive + MyProgramName ) ;
FileMode := 2 ; (* Reset to TP default *)
MyMainInstall ;
end .